﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using Proceso;
using Modelo;
namespace Interface
{
    /// <summary>
    /// Interaction logic for RegistrarProducto.xaml
    /// </summary>
    public partial class RegistrarProducto : UserControl
    {
        List<Proveedor> proveedores;
        public RegistrarProducto()
        {
            InitializeComponent();
            datePickerContrato.SelectedDate = DateTime.Now;
            proveedores = ProveedorProceso.obtenerTodosLosProveedores();
            copiarAListBox(proveedores);
        }
        private void copiarAListBox(List<Proveedor> proveedores)
        {
            foreach (Proveedor p in proveedores)
            {
                listBox1.Items.Add(p.nombre);
            }
        }
        private void buttonAnadirProveedor_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                MessageBoxResult msg = MessageBox.Show("¿Está seguro que desea añadir el proveedor " + textBoxNombreProveedor.Text + " en esta fecha de contrato: " + (DateTime)datePickerContrato.SelectedDate + "?", "Advertencia", MessageBoxButton.YesNo, MessageBoxImage.Exclamation);
                if (msg == MessageBoxResult.Yes)
                {
                    Proveedor proveedor = ProveedorProceso.insertarNuevoProveedor(textBoxNombreProveedor.Text, (DateTime)datePickerContrato.SelectedDate);
                    listBox1.Items.Add(proveedor.nombre);
                    proveedores.Add(proveedor);
                    MessageBox.Show("Proveedor añadido con éxito");
                }
                
            }
            catch (Exception ex)
            {
                MessageBox.Show("Hubo un error: "+ex.Message);
            }
        }

        private void buttonAnadirProducto_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                Producto producto = GestorProducto.RegistrarNuevo(textBoxNombreQuim.Text, proveedores[listBox1.SelectedIndex], textBoxNombreCom.Text, textBoxPrecioUV.Text, textBoxPrecioUC.Text, textBoxDetalle.Text);
                MessageBox.Show("Producto fue añadido con éxito");
            }
            catch (ArgumentOutOfRangeException)
            {
                MessageBox.Show("Hubo un error: Tiene que seleccionar un proveedor de la lista de proveedores de la derecha");
            }
            catch (Exception ex)
            {

                MessageBox.Show("Hubo un error:"+ ex.Message);
            }
            
        }
    }
}
